package com.aiti.lulian.entity;

import com.aiti.base.core.base.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
@TableName("card_visitor_record")
public class CardVisitorRecord extends BaseEntity {

    /**
     * ID
     */
    @TableId(value = "base_id", type = IdType.ASSIGN_UUID)
    private String baseId;

    /**
     * 访客用户ID
     */
    @TableField("visitor_id")
    private String visitorId;

    /**
     * 受访用户ID
     */
    @TableField("user_id")
    private String userId;

    /**
     * 创建时间
     */
    @TableField(value = "base_create_time", fill = FieldFill.INSERT)
    private Date baseCreateTime;

    /**
     * 更新时间
     */
    private Date baseUpdateTime;

    /**
     * 访问次数
     */
    @TableField("count")
    private Integer count;

    /**
     * 访客姓名备注
     */
    @TableField("realname_remarks")
    private String realnameRemarks;

    /**
     * 访客公司名称备注
     */
    @TableField("enterprise_name_remarks")
    private String enterpriseNameRemarks;

    /**
     * 访客微信号备注
     */
    @TableField("weixin_remarks")
    private String weixinRemarks;

    /**
     * 访客职务备注
     */
    @TableField("position_remarks")
    private String positionRemarks;

    /**
     * 访客联系电话备注
     */
    @TableField("phone_remarks")
    private String phoneRemarks;

    /**
     * 备注创建者
     */
    @TableField("remark_creator")
    private String remarkCreator;

    /**
     * 备注创建时间
     */
    @TableField("remark_create_time")
    private Date remarkCreateTime;

    /**
     * 备注更新者
     */
    @TableField("remark_update_by")
    private String remarkUpdateBy;

    /**
     * 备注更新时间
     */
    @TableField("remark_update_time")
    private Date remarkUpdateTime;

    /**
     * '0'：未请求交换名片；'1'：已发送交换请求；'2'：对方已同意交换
     */
    @ApiModelProperty("名片交换状态")
    @TableField("exchange_status")
    private String exchangeStatus;

    /**
     * 'forward'：转发名片；'holder'：收藏夹；'visitor'：访客列表；'others'：其他来源
     */
    @ApiModelProperty("来源")
    @TableField("source")
    private String source;

    /**
     * 登录后未存在名片的访客的联系电话
     */
    @ApiModelProperty("登录后未存在名片的访客的联系电话")
    @TableField("contact_number")
    private String contactNumber;

    /**
     * 受访用户名片ID
     */
    @ApiModelProperty("受访用户名片ID")
    @TableField("card_id")
    private String cardId;

    /**
     * 访客用户名片ID
     */
    @ApiModelProperty("访客用户名片ID")
    @TableField("visitor_card_id")
    private String visitorCardId;
}